package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotEmpty;

/**
 * 潜在客户对象 prospects
 * 
 * @author tong
 * @date 2024-01-22
 */
public class Prospects extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 潜在客户名 */
    @Excel(name = "潜在客户名")
    private String name;

    /** 潜在客户年龄 */
    @Excel(name = "潜在客户年龄")
    private Long age;

    /** 潜在客户微信 */
    @Excel(name = "潜在客户微信")
    private String wechat;

    /** 潜在客户qq */
    @Excel(name = "潜在客户qq")
    private String qq;

    /** 潜在客户联系电话 */
    @NotEmpty(message = "联系电话不能为空")
    @Excel(name = "潜在客户联系电话")
    private String phone;

    /** 潜在客户性别 0 --- 男  1--- 女 */
    @Excel(name = "潜在客户性别 0 --- 男  1--- 女")
    private String sex;

    /** 潜在客户工作年限 */
    @Excel(name = "潜在客户工作年限")
    private Long workYears;

    /** 毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date graduationTime;

    /** 来源：他人推荐、公众号 */
    @Excel(name = "来源：他人推荐、公众号")
    private String channel;

    /** 当前状态：0--有意向  1--已经报名  2--无意向 */
    @Excel(name = "当前状态：0--有意向  1--已经报名  2--无意向")
    private Long status;

    /** 是否是老学员推荐
 */
    @Excel(name = "是否是老学员推荐 ")
    private String isOldCadetsRecom;

    /** 推荐人 */
    @Excel(name = "推荐人")
    private String referrers;

    /** 意向程度 0 -- 弱  1 -- 强 */
    @Excel(name = "意向程度 0 -- 弱  1 -- 强")
    private Long degreeIntent;

    /** 意向学科 */
    @Excel(name = "意向学科")
    private String degreeDiscipline;

    /** 意向班级 */
    @Excel(name = "意向班级")
    private String degreeClasses;

    /** 录入人 */
    @Excel(name = "录入人")
    private String entrantTeacher;

    /** 咨询老师 */
    @Excel(name = "咨询老师")
    private String consultTeacher;

    /** 录入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "录入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 最后追踪时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后追踪时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date astTraceDate;

    /** 下次追踪时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次追踪时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextTraceTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setAge(Long age) 
    {
        this.age = age;
    }

    public Long getAge() 
    {
        return age;
    }
    public void setWechat(String wechat) 
    {
        this.wechat = wechat;
    }

    public String getWechat() 
    {
        return wechat;
    }
    public void setQq(String qq) 
    {
        this.qq = qq;
    }

    public String getQq() 
    {
        return qq;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setWorkYears(Long workYears) 
    {
        this.workYears = workYears;
    }

    public Long getWorkYears() 
    {
        return workYears;
    }
    public void setGraduationTime(Date graduationTime) 
    {
        this.graduationTime = graduationTime;
    }

    public Date getGraduationTime() 
    {
        return graduationTime;
    }
    public void setChannel(String channel) 
    {
        this.channel = channel;
    }

    public String getChannel() 
    {
        return channel;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setIsOldCadetsRecom(String isOldCadetsRecom) 
    {
        this.isOldCadetsRecom = isOldCadetsRecom;
    }

    public String getIsOldCadetsRecom() 
    {
        return isOldCadetsRecom;
    }
    public void setReferrers(String referrers) 
    {
        this.referrers = referrers;
    }

    public String getReferrers() 
    {
        return referrers;
    }
    public void setDegreeIntent(Long degreeIntent) 
    {
        this.degreeIntent = degreeIntent;
    }

    public Long getDegreeIntent() 
    {
        return degreeIntent;
    }
    public void setDegreeDiscipline(String degreeDiscipline) 
    {
        this.degreeDiscipline = degreeDiscipline;
    }

    public String getDegreeDiscipline() 
    {
        return degreeDiscipline;
    }
    public void setDegreeClasses(String degreeClasses) 
    {
        this.degreeClasses = degreeClasses;
    }

    public String getDegreeClasses() 
    {
        return degreeClasses;
    }
    public void setEntrantTeacher(String entrantTeacher) 
    {
        this.entrantTeacher = entrantTeacher;
    }

    public String getEntrantTeacher() 
    {
        return entrantTeacher;
    }
    public void setConsultTeacher(String consultTeacher) 
    {
        this.consultTeacher = consultTeacher;
    }

    public String getConsultTeacher() 
    {
        return consultTeacher;
    }
    public void setEntryTime(Date entryTime) 
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() 
    {
        return entryTime;
    }
    public void setAstTraceDate(Date astTraceDate) 
    {
        this.astTraceDate = astTraceDate;
    }

    public Date getAstTraceDate() 
    {
        return astTraceDate;
    }
    public void setNextTraceTime(Date nextTraceTime) 
    {
        this.nextTraceTime = nextTraceTime;
    }

    public Date getNextTraceTime() 
    {
        return nextTraceTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("age", getAge())
            .append("wechat", getWechat())
            .append("qq", getQq())
            .append("phone", getPhone())
            .append("sex", getSex())
            .append("workYears", getWorkYears())
            .append("graduationTime", getGraduationTime())
            .append("channel", getChannel())
            .append("status", getStatus())
            .append("isOldCadetsRecom", getIsOldCadetsRecom())
            .append("referrers", getReferrers())
            .append("degreeIntent", getDegreeIntent())
            .append("degreeDiscipline", getDegreeDiscipline())
            .append("degreeClasses", getDegreeClasses())
            .append("entrantTeacher", getEntrantTeacher())
            .append("consultTeacher", getConsultTeacher())
            .append("entryTime", getEntryTime())
            .append("astTraceDate", getAstTraceDate())
            .append("nextTraceTime", getNextTraceTime())
            .append("remark", getRemark())
            .toString();
    }
}
